package CDB;
// Generated 31-ago-2013 13:25:05 by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Detalleproducto generated by hbm2java
 */
@Entity
@Table(name="detalleproducto"
    ,catalog="salestedispatcher"
)
public class Detalleproducto  implements java.io.Serializable {


     private Integer iddetalleproducto;
     private Subcategoria subcategoria;
     private Producto producto;
     private Date tiempoprepacion;
     private String tipo;
     private float costo;
     private int consumo;
     private Set<Detalleventa> detalleventas = new HashSet<Detalleventa>(0);

    public Detalleproducto() {
    }

	
    public Detalleproducto(Producto producto, Date tiempoprepacion, String tipo, float costo, int consumo) {
        this.producto = producto;
        this.tiempoprepacion = tiempoprepacion;
        this.tipo = tipo;
        this.costo = costo;
        this.consumo = consumo;
    }
    public Detalleproducto(Subcategoria subcategoria, Producto producto, Date tiempoprepacion, String tipo, float costo, int consumo, Set<Detalleventa> detalleventas) {
       this.subcategoria = subcategoria;
       this.producto = producto;
       this.tiempoprepacion = tiempoprepacion;
       this.tipo = tipo;
       this.costo = costo;
       this.consumo = consumo;
       this.detalleventas = detalleventas;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="iddetalleproducto", unique=true, nullable=false)
    public Integer getIddetalleproducto() {
        return this.iddetalleproducto;
    }
    
    public void setIddetalleproducto(Integer iddetalleproducto) {
        this.iddetalleproducto = iddetalleproducto;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idsubcategoria")
    public Subcategoria getSubcategoria() {
        return this.subcategoria;
    }
    
    public void setSubcategoria(Subcategoria subcategoria) {
        this.subcategoria = subcategoria;
    }
@ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="idproducto", nullable=false)
    public Producto getProducto() {
        return this.producto;
    }
    
    public void setProducto(Producto producto) {
        this.producto = producto;
    }
    @Temporal(TemporalType.TIME)
    @Column(name="tiempoprepacion", nullable=false, length=8)
    public Date getTiempoprepacion() {
        return this.tiempoprepacion;
    }
    
    public void setTiempoprepacion(Date tiempoprepacion) {
        this.tiempoprepacion = tiempoprepacion;
    }
    
    @Column(name="tipo", nullable=false, length=10)
    public String getTipo() {
        return this.tipo;
    }
    
    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
    
    @Column(name="costo", nullable=false, precision=12, scale=0)
    public float getCosto() {
        return this.costo;
    }
    
    public void setCosto(float costo) {
        this.costo = costo;
    }
    
    @Column(name="consumo", nullable=false)
    public int getConsumo() {
        return this.consumo;
    }
    
    public void setConsumo(int consumo) {
        this.consumo = consumo;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="detalleproducto")
    public Set<Detalleventa> getDetalleventas() {
        return this.detalleventas;
    }
    
    public void setDetalleventas(Set<Detalleventa> detalleventas) {
        this.detalleventas = detalleventas;
    }




}


